﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ClassMySQL.Classes;
using System.Data;

namespace ClassMySQL
{
    internal class Program
    {
        // Данные для тестирования класса
        //private static string _host = "192.168.10.110";
        //private static string _db = "mylibrary";
        //private static string _login = "student";
        //private static string _password = "12345678";

        // Второй сервер
        private static string _host = "kazaku5d.beget.tech";
        private static string _db = "kazaku5d_pc1";
        private static string _login = "kazaku5d_pc1";
        private static string _password = "123456_shask";

        static void Main(string[] args)
        {
            StartApp();
            List<Clients> clients = ClientsLibrary();
            PrintList(clients);
            Console.ReadKey();
        }

        private static void PrintList(List<Clients> clients)
        {
            foreach (Clients client in clients)
            {
                Console.WriteLine(client.Name);
            }
        }

        // Инициализация соединения
        private static void StartApp()
        {
            ServerMySQL.DB_Load(_host, _db, _login, _password);
            if (ServerMySQL.CheckConnect())
            {
                Console.WriteLine("Соединение установлено");
            }
            else
            {
                Console.WriteLine("Ошибка соединения с БД");
            }
        }

        // Загрузка данных из таблицы "Client" в базе данных
        private static List<Clients> ClientsLibrary()
        {
            DataTable dt = ServerMySQL.GetDataTable("clients");
            Console.WriteLine("Количество полученных строк: " +  dt.Rows.Count);
            List<Clients> clients = new List<Clients>();
            foreach (DataRow row in dt.Rows)
            {
                Clients cl = new Clients(
                    row[1].ToString(),
                    row[2].ToString(),
                    Convert.ToDateTime(row[3]),
                    row[4].ToString()
                    );
                clients.Add(cl);
            }
            return clients;
        }
    }
}
